const multer = require('multer');
const fs = require('fs')
const path = require('path')
const {
    mysql,
    pool,
    router,
    Result,
    Myquery
} = require('../../connect');

// 设置随机名字
var index =Math.floor(Math.random()*100)
var fullName = ''

// 思路
// 上传内容并储存——1.设置存储的地方——2.设置存储时的名字{1.获取原来名字的后缀，2.再重新命名}
var headerConfig = multer.diskStorage({
    // destination目的地
    destination: 'public/headers',
    // fliename 文件名 后面跟函数,函数有三个参数
    // file为当前上传的图片 
    filename: function (req, file, callback) {
        // 先获取原来图片的后缀名

        //  1.选找到图片的名字,并进行分割
        var nameArray = file.originalname.split('.')
        // 长度是从1开始的 索引是从0开始的
        // [1,2,3,4]长度4 -1 [nameArray.length - 1]索引
        var type = nameArray[nameArray.length - 1]

        // 新的名字 = 随机数组.照片类型
        var imageName = index + '.' + type;
        fullName = imageName

        // 设置回调的内容,参数1：错误信息，参数2：图片新的名字
        callback(null,  imageName)

    }
})

var upload = multer({storage:headerConfig})

// single 上传单个文件; photo 为前端上传图像的input标签的name值
// upload.single('photo')每次上传单个照片的配置信息
router.post('/upload',upload.single('file'),function(req,res){

    res.json(new Result({
        msg:'success',
        data:'http://localhost:3000/api/getFile?path=public/headers/'+ fullName
    }) )
    
    console.log('上传成功')

})

module.exports = router